{% if isFramework("angular") %}
Implement this interface to create a tool panel component.
{% /if %}

{% if isFramework("angular") %}
```ts
interface IToolPanelAngularComp {
    // mandatory methods

    // The agInit(params) method is called on the tool panel component once.
    // See below for details on the parameters.
    agInit(params: IToolPanelParams): void;

    // optional methods

    // Called when `api.refreshToolPanel()` is called (with the current params).
    // Also called when the `sideBar` grid option is updated (with the updated params).
    // When `sideBar` is updated, if this method returns `true`,
    // then the grid will take no further action.
    // Otherwise, the tool panel will be destroyed and recreated.
    refresh(params: IToolPanelParams): boolean | void;

    // If saving and restoring state, this should return the current state
    getState(): any;
}
```
{% /if %}

{% if isFramework("angular") %}
The `agInit(params)` method takes a params object with the items listed below:
{% /if %}
